package cn.bearspark.api.service.main;

import cn.bearspark.framework.web.starter.vo.ResponseVO;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

/**
 * 文件服务的服务接口
 *
 * @author f
 */
public interface FileService {

    /**
     * 上传文件
     *
     * @param file       文件
     * @param moduleCode 模块的枚举值
     * @return 携带文件名称的响应
     */
    ResponseVO<String> upload(MultipartFile file, Integer moduleCode);

    /**
     * 下载文件
     *
     * @param filename 文件名
     * @return 携带文件的响应
     */
    ResponseEntity<Resource> download(String filename);
}
